1. Field of the Invention
The present invention relates to a decoding apparatus and a decoding method, in particular, a decoding apparatus and decoding method for detecting a data format of received data.
2. Description of Related Art
In recent years, there have been made extensive studies on a communication method used for a mobile communication system such as a cellular phone. Under the 3rd generation partnership project (3GPP), the third-generation mobile communication system has been standardized, and the wideband code division multiple access (W-CDMA) method has been known as a communication method conforming to the 3GPP standards.
“3GPP (3rd Generation Partnership Project) TS (Technical Specification) 25.212, V.3.9.0” describes a format example of data transmitted and received in the W-CDMA based mobile communication system. According to the W-CDMA system, plural physical channels are multiplexed over a radio transmission path, and plural transport channels (hereinafter refereed to as “TrCHs”) are multiplexed over each physical channel. These TrCHs enable simultaneous transmission/reception of various types of information such as audio data and image data among different channels, and enable communications with a transport quality adequate for corresponding services or the like.
FIG. 7 shows a data format example of TrCH transmitted over a physical channel in the W-CDMA system. Transmitted over the physical channel is composite combination TrCH (hereinafter referred to as “CCTrCH”) data including plural TrCH data. In the illustrated example, the CCTrCH includes four TrCHs, i.e., TrCH#0, TrCH#1, TrCH#2, and TrCH#3. Further, each TrCH data is composed of data units of a specific data length. This data length is called a transport format (hereinafter referred to as “TF”) In the illustrated example, 3 TFs (TF#0), 4 TFs (TF#3), 2 TFs (TF#1), and 4 TFs (TF#2) are assigned to the TrCH#0, TrCH#1, TrCH#2, and TrCH#3, respectively. Plural TFs in each TrCH may be different. For example, TF#0 is defined as a data size of 100 bits, TF#1 is defined as a data size of 120 bits, and TF#2 is defined as a data size of 150 bits. The format of the CCTrCH data is determined by a transport format combination (hereinafter referred to as “TFC”). That is, the TFC defines each TrCH and a combination of TFs in each TrCH.
Since a combination of TrCHs and TFs may vary among CCTrCH transmitted over a physical channel (that is, the TFC may be arbitrarily set), the receiver side needs to detect which TFC is used for the communication. This is because received data cannot be correctly decoded unless each TrCH is decoded using a proper data size.
“The 3GPP (3rd Generation Partnership Project) TS (Technical Specification) 25.212, V.3.9.0” describes several methods of detecting TFC. One of the TFC detecting methods utilizes a transport format combination indicator (hereinafter referred to as “TFCI”). The TFCI is information for identifying TFC of a CCTrCH. The method utilizing the TFCI transmits the TFCI together with CCTrCH over a physical channel. The receiver side decodes the TFCI before decoding the CCTrCH data to thereby detect the TFC of the CCTrCH. In addition, each TrCH in the CCTrCH is decoded based on the TrCH and TF information contained in the TFC, so accurate decoded data can be obtained.
To give another TFC detecting method, if no TFCI is transmitted over a physical channel, an explicit detectable TrCH is utilized in place of the TFCI. The explicit detectable TrCH, which is one of the TrCHs in the CCTrCH, serves as a reference for detecting TFC. When decoding CCTrCH, the receiver side first decodes the explicit detectable TrCH in the CCTrCH to thereby determine the TF of the explicit detectable TrCH. Then, the TF of the explicit detectable TrCH is used to detect the TFC, and each TrCH in the CCTrCH is decoded based on the TrCH and TF information in the detected TFC. Such a method of detecting TFC using an explicit detectable TrCH is called a blind transport format detection (hereinafter referred to as “BTFD”).
FIGS. 8A and 8B show the data format of an explicit detectable TrCH based on BTFD and a decoding method therefor. As shown in FIG. 8A, the explicit detectable TrCH is composed of a data area, a cyclic redundancy check (CRC) area, and an empty area. The data area stores communication data such as audio data. The CRC area stores a CRC value for error detection for the data area. The empty area has empty data, i.e., a sequence of “0s”. The entire size of the explicit detectable TrCH is equivalent to the maximum size of the TrCH; the TF spans the data area to the CRC area.
The explicit detectable TrCH data is coded through convolutional coding, and decoded through Viterbi decoding based on the Viterbi algorithm. The Viterbi decoding, which is a maximum-likelihood decoding method, decodes target data into a code of the maximum likelihood (most possible).
According to the Viterbi decoding, decoding is carried out based on a state transition diagram called a Trellis diagram. In the Trellis diagram, a path consisting of interconnected states at respective time points corresponds to a decoded code sequence to be obtained. The likelihood is computed for all possible paths, and the path of the maximum likelihood is defined as a survival path corresponding to a decoded data. Since one survival path cannot be selected at each time point, several survival paths are selected at each time point, and finally the past paths are narrowed down into one survival path. To elaborate, according to the Viterbi decoding, decoded data of n-th bit data is not yet determined at the time of decoding the nth-bit data, but is determined at a later time when m-th bit data subsequent to the n-th bit data is decoded.
The explicit detectable TrCH stores “0s” in the empty area, so this area contains only transmission noise. Therefore, assuming that the explicit detectable TrCH data is subjected to Viterbi decoding from the first bit on down, as shown in FIG. 8B, the maximum likelihood is obtained at a correct end of a TF. In FIG. 8, the likelihood is maximum at TF#0, so the TF#0 is highly likely to be a correct TF. Further, CRC calculation is made for decoded data in the TF#0. If the CRC calculation is correct, the TF#0 can be defined as a correct TF.
FIG. 9 is a flowchart showing a related decoding method. This method detects a TF as well as decodes explicit detectable TrCH data.
To begin with, a candidate for the minimum TF (decoding data length) is retrieved for determining a data area to be first decoded (S801). Next, the coded explicit detectable TrCH data is decoded from the first bit to the retrieved TF candidate (S802).
Subsequently, CRC calculation is made using the thus-decoded data (S803). Then, it is checked whether or not the CRC calculation result is OK (S804). If the CRC calculation result is NG, the next TF candidate is obtained (S805). Then, steps S802 and S803 are repeated. If the CRC calculation result is OK, likelihood information and size (decode data length) at this point are stored (S806).
Next, whether the explicit detectable TrCH data is decoded to the maximum size is decided (S807). If the explicit detectable TrCH data has not yet been decoded to the maximum size, the next TF candidate is acquired (S805). Then, steps S802 to S806 are repeated. If the explicit detectable TrCH data has already been decoded to the maximum size, a size of the maximum-likelihood is obtained and determined as a TF (S808).
Next, the explicit detectable TrCH data is decoded from the first bit to the determined TF again (S809). Finally, the TF of the explicit detectable TrCH and the decoded explicit detectable TrCH data are output (S810).
It has now been discovered that, according to the conventional decoding method, data is decoded up to the maximum size and then a TF is determined, after which the data should be decoded again. This is because, if the explicit detectable TrCH data is decoded up to the maximum size through Viterbi decoding, data smaller than the maximum size may not be correctly decoded. That is, as mentioned above, decoded data at each time point is fixed through subsequent decoding processes, according to the Viterbi decoding. Hence, if data is decoded up to the maximum size, the decoded data smaller than the maximum size is replaced by low-reliability data through subsequent decoding processes. In addition, when an additional decoding process is performed, a process time accordingly lengthens, and power consumption increases. Even if plural decoders are used to carry out decoding processes in parallel, circuit scale increases although the process time can be shortened.
As discussed so far, the above described decoding method has a problem that the decoding process should be repeated several times.